package com.handinglian.task.service;

import com.handinglian.task.dto.AssignedNumDto;
import com.handinglian.task.dto.CustomerTaskDto;
import com.handinglian.task.entity.TaskUserRelation;
import com.handinglian.task.param.CustomerIntentionUpdateParam;
import com.handinglian.task.param.TaskUserRelationUpdateParam;
import com.handinglian.task.param.TaskUserTopParam;

import java.util.Collection;
import java.util.List;

public interface TaskUserRelationService {
    int deleteTaskUserByTaskId(Integer taskUserId);

    List<TaskUserRelation> inquireTaskUserByTaskId(Integer taskId);

    List<TaskUserRelation> list(Integer taskId, Integer userId);

    List<TaskUserRelation> list(List<Integer> taskIds, Integer userId);

    TaskUserRelation loadTaskUser(Integer taskUserId);

    int createTaskUserRelationBatch (List<TaskUserRelation> list);

    int updateCustomerIntention(List<CustomerIntentionUpdateParam> customerIntentionUpdateParams);

    int updateTaskUserRelation(TaskUserRelationUpdateParam taskUserRelationUpdateParam);

    List<CustomerTaskDto> inquireCustomerTaskList(Integer userId, String customerPhone);

    /**
    * 查询每个任务中用户所分配到的客户数量
    * @author pxl
    * @return java.lang.Integer
    * @date 2019/9/2 13:52
    */
    List<AssignedNumDto> inquireAssignedNumList();

    int delete(Integer taskUserId);

    List<TaskUserRelation> list(Integer userId);

    int updateTop(TaskUserTopParam taskUserTopParam);

    int updateValid(Integer userId);

    List<Integer> getTaskId();

    List<String> listCustomerPhone(Integer taskId, Collection<String> customerPhoneCollection);

    List<TaskUserRelation> list(Integer taskId, List<String> customerPhones);

    int updateBatch(List<TaskUserRelation> list);
}
